名称

netstat —— 显示网络状态和统计信息

简介

netstat [-j jail] [--libxo] [-46AaCLnPRSTWx] [-f protocol_family | -p protocol]

netstat -i | -I interface [-j jail] [--libxo] [-46abdhnW] [-f address_family] [-M core] [-N system]

netstat -w wait [-j jail] [--libxo] [-I interface] [-46d] [-M core] [-N system] [-q howmany]

netstat -s [-j jail] [--libxo] [-46sz] [-f protocol_family | -p protocol] [-M core] [-N system]

netstat -i | -I interface -s [-j jail] [--libxo] [-46s] [-f protocol_family | -p protocol] [-M core] [-N system]

netstat -m [-j jail] [--libxo] [-M core] [-N system]

netstat -B [-j jail] [--libxo] [-z] [-I interface]

netstat -r [-j jail] [--libxo] [-46nW] [-F fibnum] [-f address_family]

netstat -rs [-j jail] [--libxo] [-s] [-M core] [-N system]

netstat -g [-j jail] [--libxo] [-46W] [-f address_family]

netstat -gs [-j jail] [--libxo] [-46s] [-f address_family] [-M core] [-N system]

netstat -Q [-j jail] [--libxo]

netstat -o -4 | -6

netstat -O -4 | -6

描述

netstat 命令显示各种网络相关数据结构的内容。传递的参数决定了命令使用以下哪种输出格式。

命令1

netstat [-46AaCLnRSTWx] [-f protocol_family | -p protocol] [-j jail]

显示每个网络协议的活动套接字(协议控制块)列表。

活动套接字的默认显示显示本地和远程地址、发送和接收队列大小(以字节为单位)、协议以及协议的内部状态。如果套接字的地址指定了网络,但没有指定特定的主机地址,则地址格式为“host.port”或“network.port”。当已知时,主机和网络地址分别根据数据库 hosts(5)networks(5) 象征性地显示。如果地址的符号名称未知,或者指定了 -n 选项,则根据地址族以数字形式打印地址。有关Internet IPv4“点格式”的更多信息,请参阅 inet(3) 。未指定或“通配符”的地址和端口显示为“*”。

命令2

netstat -i | -I interface [-46abdhnW] [-f address_family] [-M core] [-N system] [-j jail]

显示所有网络接口或已自动配置的单个 interface 的状态(静态配置到系统中但未在启动时定位的接口未显示)。接口名称后的星号(“*”)表示接口已“down”。

当使用 -i (所有接口)或 -I interface 调用 netstat 时,它提供了一个关于传输的数据包、错误和冲突的累积统计表。还显示了接口的网络地址和最大传输单元(“mtu”)。如果同时指定了 -i-I-I 将覆盖 -i 的任何实例。

命令3

netstat -w wait [-I interface] [-46d] [-M core] [-N system] [-q howmany] [-j jail]

以等待秒为间隔,在所有配置的网络接口或单个接口上显示有关数据包流量的信息。

当使用 -w 选项和 wait 间隔参数调用 netstat 时,它会显示与网络接口相关的统计信息的运行计数。此选项的过时版本使用了一个没有选项的数字参数,目前支持向后兼容性。默认情况下,此显示汇总了所有接口的信息。特定接口的信息可以使用 -I interface 选项显示。

命令4

netstat -o -4 | -6

打印与路由条目关联的下一跳(nhops)信息。当与 -4 或 -6 一起使用时,分别将输出限制为IPv4或IPv6路由。此选项提供有关路由决策中使用的单个下一跳地址的详细信息。

命令5

netstat -O -4 | -6

打印与路由条目关联的下一跳组(nhgrp)信息。当与 -4 或 -6 一起使用时,将输出分别限制为IPv4或IPv6下一跳组。此选项显示多路径或负载平衡路由设置的分组下一跳条目。

命令6

netstat -s [-46sz] [-f protocol_family | -p protocol] [-M core] [-N system] [-j jail]

显示每种网络协议的系统范围统计数据。

命令7

netstat -i | -I interface -s [-46s] [-f protocol_family | -p protocol] [-M core] [-N system] [-j jail]

显示每个网络协议的每个接口统计信息。如果同时指定了 -i 和 -I ,-I 将覆盖 -i 的任何实例。

命令8

netstat -m [-M core] [-N system] [-j jail]

显示内存管理例程(mbuf(9) )记录的统计信息。网络管理一个专用内存缓冲池。

命令9

netstat -B [-z] [-I interface] [-j jail]

显示有关 bpf(4) 对等体的统计信息。这包括bpf设备匹配、丢弃和接收了多少数据包的信息,以及当前缓冲区大小和设备状态的信息。

当使用 -B 选项调用 netstat 时显示的 bpf(4) 标志表示bpf对等体的底层参数。每个标志都表示为一个小写字母。字母和标志之间按出现顺序的映射如下:

标志含义
p如果滥听(listening promiscuously),则设置
i设备上已设置BIOCIMMEDIATE
fBIOCGHDRCMPLT状态:源链路地址正在自动填充
sBIOCGSEESENT状态:查看接口上本地和远程发起的数据包。
a分组接收产生信号
l(小写L)BIOCLOCK状态:描述符已锁定

有关这些标志的更多信息,请参阅 bpf(4)

命令10

netstat -r [-46AnW] [-F fibnum] [-f address_family] [-M core] [-N system] [-j jail]

显示路由表的内容。

当使用路由表选项 -r 调用 netstat 时,它会列出可用路由及其状态。每条路由都由一个目标主机或网络以及一个用于转发数据包的网关组成。标志字段显示了作为二进制选项存储的有关路线的信息集合。 route(8)route(4) 手册页对各个标志进行了更详细的讨论。字母和标志之间的映射如下:

字母标志含义
1RTF_PROTO1协议特定路由标志#1
2RTF_PROTO2协议特定路由标志#2
3RTF_PROTO3协议特定路由标志#3
BRTF_BLACKHOLE只需丢弃pkts(在更新期间)
bRTF_BROADCAST路由表示广播地址
DRTF_DYNAMIC动态创建(通过重定向)
GRTF_GATEWAY目的地需要中介转发
HRTF_HOST主机条目(除网络外)
LRTF_LLINFO链接地址转换的有效协议
MRTF_MODIFIED动态修改(通过重定向)
RRTF_REJECT无法访问主机或网络
sRTF_STATIC手动添加
URTF_UP路由可用
XRTF_XRESOLVE外部守护进程将proto转换为链接地址

为连接到本地主机的每个接口创建直接路由;此类条目的网关字段显示了传出接口的地址。refcnt 字段给出了路线的当前活动使用次数。面向连接的协议通常在连接期间保持单个路由,而无连接协议在发送到同一目的地时获得路由。use 字段提供使用该路由发送的数据包数量的计数。interface 条目指示用于路由的网络接口。

命令11

netstat -rs [-s] [-M core] [-N system] [-j jail]

显示路由统计信息。

命令12

netstat -g [-46W] [-f address_family] [-M core] [-N system] [-j jail]

显示多播虚拟接口表和多播转发缓存的内容。只有当内核主动转发多播会话时,这些表中的条目才会出现。此选项仅适用于 inetinet6 地址系列。

命令13

netstat -gs [-46s] [-f address_family] [-M core] [-N system] [-j jail]

显示多播路由统计信息。

命令14

netstat -Q [-j jail]

显示 netisr(9) 统计数据。标志字段显示可用的ISR处理程序:

字母标志含义
CNETISR_SNP_FLAGS_M2CPUID能够将mbuf映射到cpu id
DNETISR_SNP_FLAGS_DRAINEDCPU具有队列排出处理程序
FNETISR_SNP_FLAGS_M2FLOW能够将mbuf映射到流id

GENERAL OPTIONS

一些选项具有一般含义:

示例

显示接口re0的数据包流量信息(数据包、字节、错误、数据包丢失等),每2秒更新一次,并在5次输出后退出:

显示任何接口上ICMP的统计信息:

显示路由表:

与上述相同,但不将数字地址和端口号解析为名称:

显示IPv4侦听套接字:

参阅

历史

netstat命令出现在4.2BSD中。

WIDE/KAME项目增加了对IPv6的支持。

BUGS

错误的概念定义不清。